package org.aeon.newsmanagersystem.dao;

import org.aeon.newsmanagersystem.pojo.News;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by Mybatis Generator on 2024/03/27
 */
@Mapper
public interface NewsMapper {
    int deleteByPrimaryKey(Integer nid);

    int insert(News record);

    int insertSelective(News record);

    News selectByPrimaryKey(Integer nid);

    int updateByPrimaryKeySelective(News record);

    int updateByPrimaryKeyWithBLOBs(News record);

    int updateByPrimaryKey(News record);

    /**
     * 获取总条数
     *
     * @return
     */
    int total();

    /**
     * 通过 topicId 获取新闻条数
     *
     * @param topicId
     * @return
     */
    int countByTopicIdIfAny(@Param("ntid") Integer topicId);

    /**
     * 按主题获取新闻（如果有）
     * 同时限定返回条数
     *
     * @param ntid
     * @param index
     * @param limit
     * @return
     */
    List<News> getByTopicIdIfAnyLimited(@Param("ntid") Integer ntid, @Param("index") Integer index, @Param("limit") Integer limit);

}
